home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Mac Format 1994 August
/
August CD.bin
/
Shareware
/
This month's reviews
/
ZTermXK ƒ
/
Original v.0.9 docs
/
Original Docs for ZTerm v 0.9
next >
Wrap
Text File
|
1992-07-16
|
88KB
|
1,764 lines
ZTerm Version 0.9XK — 16 July 1992
by
David P. Alverson 5635 Cross Creek Court Mason, OH 45040-2448
Documentation re-edited and supplemented by The Atlanta ZTerm
Appreciation Society
Latest version and support available from: GEnie Mac RT, Category 5,
Topic 8 CompuServe: Mac Communication Forum America Online: Mac Comm &
Network Forum
ZTerm is a shareware telecommunications program for the Macintosh. It
features many file-transfer protocols, including ZModem, YModem,
XModem and CompuServe B-Plus/Quick-B. It also supports two major
termulation emulations, VT-100 and ANSI-BBS, including support for
color. ZTerm has an efficient scroll back buffer, which saves text
scrolling off the top of the screen (the size is limited by available
memory, so it’s easy to expand or contract the buffer). ZTerm uses a
Phone List file to hold many Dialing phone names, numbers, and the
setups for each one. Each setup contains the phone number, port
settings, and many other adjustable setting s.
The name of each dialout service appears in the Dial menu to allow
easy connection to all of them. It’s MultiFinder and System-7
friendly. It supports 9- and 12-point text and a resizable terminal
window. It requires 512k, the 128k ROM or later and System 4.1 or
later. The shareware fee is $30 US (registration only) or $40 US (to
receive registration and a disk with the latest version of ZTerm).
The ZTerm program and this documentation are Copyright © 1989-92,
David P. Alverson. It may not be distributed commercially without
permission. It may be redistributed non-commercially (electronically
or magnetically) as long as all of the files are kept together and are
unmodified. (Note from the Atlanta ZTerm Appreciaton Society: Sorry
about that last one, Dave!)
1. Introduction
Terminal Emulation:
The purpose of a terminal emulator is to connect your computer to
another computer, either through a modem or via a direct connection
such as a PBX system in the work environment. Terminal emulation
software running on your Mac makes it act like a video display
terminal (“VDT”), which writes incoming information on the computer’s
screen and sends the characters you type out through a serial port to
the other computer.
ZTerm support file transfers, so you can send or receive Macintosh
documents and files to and from the other computer, compressed or
uncompressed, with high efficiency and with error detection and
recovery.
The most common uses of a terminal emulator are: 1) to connect to
another Mac or PC at a home or office to exchange files with that
“remote” computer; 2) to connect to a bulletin board system (BBS) or
to an online service such as GEnie, America OnLine, or CompuServe, to
read and send messages and download files; 3) to connect to a
mainframe or Unix system for file or data entry or retrieval.
Shareware
Shareware is a means of distributing software that lets you evaluate
the software before committing your money. Shareware is distributed
on bulletin board systems, via online systems, and from user to user.
When you get a shareware program, you have the opportunity to try it
out for some period of time to see if it satisfies your needs. After
trying it, you must either send the registration fee to the author or
stop using the program. In addition, once you register, you normally
won’t have to pay for updates. (This really depends on the shareware
author; many don’t request additional fees for updates once you are
registered.)
Registration
After using ZTerm for 30 days, you must either register or delete any
copies that you have. Registration has the following benefits:
support of the further development of quality Mac software, use of
ZTerm without a guilty conscience, details of future plans, and
telephone support. Registration is only $30 (US); the “special” $40
registration includes a disk of the current ZTerm version, which I’ll
promptly mail to you upon receipt of your registration.
If you use a Purchase Order, you must order the $40 registration with
disk (in our experience, most companies like to receive something
before paying the bill). All payments must be made in US funds. If
you don’t have the registration form (ZTerm Registration), just send
your check and your name and address to:
David P. Alverson
Alverson Software
5635 Cross Creek Court
Mason, OH 45040-2448
International Users: Registration must be made in US funds. An
International Money Order, a check drawn on a US bank, or US currency
are all acceptable. At this time, I cannot accept payment by Visa
MasterCard, etc. (Also, I’ve received a few checks with ‘Not
Negotiable’ written on them. Please don’t do this; to U.S. banks,
this means “Do not honor this check.” So, please put “Not
Transferable,” instead of “Not Negotiable,” if you must.)
Online upport is via:
GEnie: ZTERM
Compuserve: 72155,1560
America Online: ‘DaveZTerm’
Internet: davea@tso.uc.edu
AppleLink: ALVERSON.SW
Online support information:
On GEnie, support is currently available by leaving me a message
in the Mac RT Bulletin Board, Category 5, Topic 8. On CompuServe,
leave a message in the MacComm forum, section 3 (Term Programs) to
72155,1560. On America Online, leave a message in the ZTerm folder in
the Communications & Networking forum. On Usenet, I try to read the
comp.sys.mac.comm group when I can. Registered users will receive my
phone number for telephone support.
The latest version of ZTerm will always be available in the Mac RT on
GEnie, in CompuServe's MacComm forum, and in the Communications forum
on America Online.
Acknowledgements:
I would like to briefly thank some of the people who have helped me
with testing, bug reports and other helpful comments and suggestions:
Verne Arase, Rick Dieringer, Ron Duritsch, Rob Elliot, Bill Johnson,
Gary Johnston, Eric Larson, Steve Levinthal, Dave Platt, Gary Shell,
Stephan Somogyi and many others; and, also, the Cincinnati AppleSiders
User Group and the Programmers SIG. The ZTerm icon was inspired by
one that Kenroy Harrison sent to me. My thanks to Chuck Forsberg, for
designing a top-notch transfer protocol in ZModem. And, especially,
to my wife, for her understanding and patience. My appreciation to
everyone else who has made useful comments and suggestions. And a
special thanks to those who have supported further ZTerm development
by registering.
2. Getting Started
System Requirements
ZTerm was designed to run on a machine with at least 1 megabyte of
memory, using the MacPlus or later ROMs, and running System 4.1 or
later. It might possibly run on earlier systems/ROMs, but I don’t
have the equipment to test this. I’ve made every attempt to make
ZTerm usable by the largest number of users.
Installation
In most cases, the only file you’ll need for installation is the ZTerm
application itself. You can also use the ZPhoneList file that is
distributed with ZTerm, if you wish (it’s just a sample). If ZTerm
doesn’t find a ZPhoneList file in the same directory as the
application, it will create a new (empty) one ready to fill with names
and phone numbers.
If you’re using a Mac 512 or Mac Plus with System 7, you’ll need to
install the ZTerm Keyboard file into your System in order to be able
to use the Option key as a Control key. This should only be used with
the US System software, because it’s a modified version of the US
keyboard resource. If you’re using a non-US system, you can tell
ZTerm to use the Command key as a Control key by adjusting the
settings in the Terminal Preferences dialog.
Now you’re ready to run ZTerm and to set it up for placing outgoing
(or receiving incoming) calls or connections to other computers.
Setting Preferences
The top half of the Settings menu is comprised of various settings
which can be unique for each service (“service” is the word we’ll use
in this documentation — and at many points in ZTerm itself — for one
of the names/phone numbers you’ve set up for dialing). All the
options in these settings dialogs are stored separately for each
service, and so each service, as we said before, can have unique
settings that match its requirements.
The lower half of the Settings menu — the items below the dividing
line in the menu — is for “global” preferences, which apply to all
services. We’ll explore these “global” settings, first...
Pull down the Settings menu and select (click on) the General
Preferences item. When the dialog box opens, you’ll see several areas
where information can be set or entered. The “TEXT File Creator,” for
example, determines which editors or word-processing programs will be
able to open and read any text files created by ZTerm. If you “mouse
down” on the box next to the words “TEXT File Creator“ (mousing down
is the same as clicking on the box and holding the mouse button down),
a pop-up menu will appear with various possible selections. When you
select one of the text format names, the corresponding designation for
the file Creator will appear in the right-hand box. Or, if you wish,
you can enter a Creator’s “signature” letters directly into the
right-hand box. Click on OK, then select Terminal Preferences. Change
the font size if desired. The custom terminal fonts in ZTerm are in 9
or 12 point. Any other size will not look very good. If you have a 9
inch screen, you will probably want to use the 9 point font to be able
to get a 24 by 80 terminal window. If you have a larger monitor, you
may want to use 12 point, which is easier on the eyes.
Now select Modem Preferences. First, select the port that your modem
or connection is attached to. The Initialization string is sent to
your modem when you start ZTerm. In many cases, you can leave this
empty and ZTerm will work fine. But if you use other communications
software, it might leave your modem in a different configuration. For
example, some software might set your modem to send “numeric result
codes” instead of “verbal result codes.” When most Hayes compatible
modems connect, the verbal result code is CONNECT 2400 (or some other
speed). The numeric result would be 10 (or 1 or 5). ZTerm wants to
see the verbal responses, so setting the modem to verbal result codes
is a good thing to put in the initialization string. The default
initialization string for ZTerm is “ATE1V1^M”. The AT is used to get
the modems attention for a command. E1 means to turn on the echoing
of commands. V1 tells it to use verbal result codes. The ^M means
Control-M, which is the same as a RETURN. This tells modem that you
are finished typing, and to process the command. The init string that
I use is ATE1V1S11=70^M. The S11=70 means to set register 11 to a
value of 70. Register 11 sets the duration and spacing of touchtones
in milliseconds. On my modem, the default is 95, so setting it to 70
makes it dial a little faster. See the section on modem commands for
more information.
The DeInitialize string is like the Initialization string, but it is
sent when you quit ZTerm. You can usually leave this blank, but you
may want to use it to disable something that you turned on in the init
string. For example, if your init string turns on the auto answer
feature of the modem, you may want to turn it off when you exit ZTerm.
The Dial Substitution strings can be used for things that could be
common to several services. I have set •1 to “*70,” which will
disable call waiting. Then I can put •1 in front of the phone number
for a service, and it will dial the *70 first. The comma after the
zero causes a pause in the dialing, usually one second. You could use
one of the dial substitutions for your long distance numbers. You
might normally set it to “1”, so it will use your normal long distance
carrier, but if you wanted to try another, you could change the string
to something like 10288, which will dial long distance using AT&T.
In the Color Preferences, you may want to check the Use Color option
if you call PC based bulletin boards and you have a color monitor.
Finally, use the Receive Folder selection to set the folder that you
want downloaded file to go to.
Adding a New Service Now let’s add a dial entry for a service that you
use a lot, like a local bulletin board. First, select Directory from
the Dial menu. Now click on the New button. This will bring up the
connection dialog, with the service name and phone number blank. Enter
the name for the service. This will appear in the dialing directory
and the Dial menu, so you don’t want a super long name. Enter the
phone number for the service. Select the highest data rate that you
know your modem and the service can handle. Choose 8 data bits and no
parity, unless you know that another format is required. The most
common alternative is 7 data bits with either even or odd parity. This
is more common on mainframes; almost all bulletin boards that run on
personal computers will accept 8 data bits, no parity. Select 1 stop
bit.
If you know the service does not echo what you type, check the Local
Echo option. Most BBSs do echo what you type, so in most cases you
leave this unchecked. You can usually leave XOn/XOff checked because
most services support it. If you have a high speed modem and a
hardware handshake cable, check that option. See the section on High
Speed modems for more things you may need to set up. Click on OK and
your new entry will now appear in the Dial directory and the Dial
menu.
Now highlight your new service in the directory and click on the
Terminal button, which brings up the Terminal settings dialog. The
‘No Extended Chars’ option should be checked unless you know the
service uses extended characters. Extended characters are usually
generated with the Option key and include the foreign characters and
special symbols. If the service uses “ANSI graphics” you will want
this option unchecked, and click on the PC ANSI-BBS emulation button.
If the service is a Unix or DEC system, you will probably want to
click on VT-100 emulation. If you use the VT100 keypad with this
service, you should check that option. On many DEC systems, you will
want to check the “Send RUBOUT for Backspace/Delete” option. Click on
OK. Now with the highlight still on the service you just added, click
on the Set button. The settings you just made for this service will
be loaded and the window title will change to the name of the service
to show you what settings are loaded.
The Text Pacing options are used when you are pasting to the modem, or
sending a text file. See “Uploading a composed message” in the
Terminal Functions section for more information on these settings. For
now you can leave them as is.
Now select the Transfer Options command. The first two items set the
default send and receive protocols for this service. A file transfer
protocol is the set of rules two computers use to transfer a file from
one to the other. You can start a file receive with the default
protocol using Command-R and file send (default send protocol) with
Command-S. The Command key is the one with the Clover-leaf (or Apple
symbol) on it. It is usually used to select menu items with keyboard
equivalents, like Command-Q to quit.
If you know what protocols the service supports, you can select these
now. If you don’t, you can always set them later. Note that the
B-Plus or Quick-B protocols used by Compuserve are not listed. This
is because a B-Plus transfer on Compuserve is started by the
Compuserve host by sending a special sequence. There is no menu in
ZTerm to start a B-Plus transfer. If the service you are setting up
is Compuserve, make sure you check the “CIS B+ / Quick-B Protocol”
option. For X/YModem Error Checking, the “Try CRC, fallback to
Checksum” option is usually the best. For the Sent Filenames option,
the safest choice is “Remove funny characters.” If the service is a
BBS running on an MS-DOS computer, you will want to select “MS-DOS
(8.3) limits.” Click on OK.
If the service supports ZModem transfers, you may want to set the
ZModem Options now. If the service is a Unix or Opus host, you can
click one of those buttons, otherwise don’t worry about that part. Set
the SubPacket Length to Auto and leave the remaining items blank or
unchecked. Click on OK and you now have made all the settings for the
service you just added.
Calling the New Service So why not try calling this new service. There
are two ways to dial a service. You can select it from the Dial menu,
or you can highlight it in the Dialing Directory window and click on
the Dial button. ZTerm will bring up the Dialing status window, which
will show the name of the service and the number it is dialing. If
the number is busy, it will usually show either BUSY or NO CARRIER in
the Response field. The Attempts field shows how many times it dialed
but failed to connect. It will keep trying until it connects
successfully or you Cancel it with the Cancel button or hitting the
ESC key. When it does connect, the dial status window will go away
and it will print the connect message in the terminal window. Now
that you are connected, you can log in and read messages or whatever
you use the service for.
Downloading a File When you want to download a file, you first must
know what protocol is supported by the service and ZTerm. On most
BBS’s, you can get a list of the supported protocols when you select
the download command. XModem is supported by nearly all BBS software,
so we will describe XModem downloads first. You need to know the name
that the BBS uses for the file; there will be one or more commands you
can give the BBS to list the files available for download. Also, the
files are usually separated into different areas to make searching
easier. You also need to know the command to start a download. Many
BBS’s use ‘D’ for download. Next it will usually ask you what
protocol to use. For this example, select XModem (or XModem-1k if
available). It will also ask you what file you want to download.
Some systems may ask you additional questions (for example, if you
want to be automatically logged off when the transfer is complete).
When all is ready, the BBS will usually print a message telling you
that it is ready to start the download. Now you must tell ZTerm to
start receiving the file. Pull down the File menu and select XModem
from the Receive files sub-menu. (If the default receive protocol is
set to XModem, you can just select the Receive XModem command.) ZTerm
will display the file transfer status window and the transfer should
start in 5 to 10 seconds. If nothing has started after 30 seconds,
something has probably gone wrong. In this case, you should hit the
Cancel button and try to start the download again.
If the BBS supports the ZModem protocol, you should use it instead of
XModem because the procedure is much simpler and faster. Tell the BBS
you want to download, tell it to use ZModem and give it the name of
the file. The BBS will send a sequence that will cause ZTerm to
automatically start receiving the file using the ZModem protocol.
ZTerm will display the transfer status window and the transfer will
begin.
Note that XModem and YModem require you to start the file transfer on
the other computer first, by issuing the download command, then
starting a file receive in ZTerm. ZModem and the CompuServe B-Plus
and QuickB protocols only require you to tell the other computer to
start sending the file, and ZTerm will detect this and start receiving
the file automatically.
Reviewing the Session If you connect to a service that you have to pay
for per minute, then you want to keep your time on the phone to a
minimum. This would include the pay services (CompuServe and GEnie,
etc) as well as any BBS that you call long distance. If you are
reading messages on this type of service, the best thing to do is to
have messages you are interested in displayed, but don’t take your
time to read them while you are online. Then, after you log out, you
can scroll back in the buffer and read the messages at your own speed.
If you have the Extended keyboard, you can use Home, End, Page Up and
Page Down to move around in the scroll buffer. However, if the VT100
Keypad option is turned on in Terminal Settings, you will need to hold
down the Shift (or Option) key when you use these keys. If you don’t
press Shift (and the VT100 keypad option is checked), it will send a
sequence of characters to the modem.
Printing a Message While you are reviewing the messages in the buffer,
you see something that you would like to print out. Select the text,
either by click and drag, or by a click at the start and a Shift-click
at the end, then choose Print Selection from the File menu. This will
give you the normal print dialog; click on OK or Print and off it
goes. If the selection includes PC graphics, you will have to make
sure that you have the right font set in Print Options. I normally
keep the print font set to Times or Palatino. But to print PC
graphics you will need to set the print font to Terminal Font.
3. Terminal Functions
Scroll Back Buffer To me, one of the most important features in
terminal program is its scroll back buffer. This allows you to look
back at words that zipped by on your screen a few minutes ago. It
should be simple, unobtrusive and fast. ZTerm will save lines that
are pushed off the screen by a line feed or a clear screen. It will
not put more than two blank lines in a row in the buffer. This means
if it receives a clear screen code and there are only two lines of
information, you will NOT get 22 blank lines in the scroll back buffer
(what a waste). The buffer is stored in memory and when the buffer
fills up, ZTerm will try to allocate more memory for the buffer. If
it cannot get more memory, ZTerm will remove lines from the top of the
buffer (the oldest lines). The scroll back buffer does not store any
character attributes like bold or colors – it only stores the text.
You can scroll around in the buffer while data is coming in, while a
file transfer is in progress and when ZTerm is dialing. If you have
the Extended keyboard, you can use Home, End, Page Up and Page Down to
move around in the scroll buffer. However, if the VT100 Keypad option
is turned on in Terminal Settings, you will need to hold down the
Shift (or Option) key when you use these keys.
The Find command in the Edit menu allows you to search the scroll back
buffer for a sequence of characters. Any changes to the search string
will reset the search position to the top of the buffer (the oldest
line). Clicking in the terminal window will set the search position
to the line you clicked on. After you have found an occurrence, if
you click the Find button again (or use the Find Again command) it
will find the next occurrence. If it beeps, the string could not be
found.
When you select text in the scroll back buffer, you can Cut, Copy or
Clear it, and you can save it to a text file (Save Selection), or
append it to an existing text file. Cut and Clear will not remove
text from the last 24 lines because it is not in the scroll back
buffer yet. If the clipboard has text on it, Paste will start sending
the text as if you were typing it, using the options selected in Text
Pacing. Command-Period will cancel a Paste command.
Append Selection to a File Many people will store messages that they
see in a file on their Mac, in case they want to refer to it later.
For example, I store lots of messages that I see about ZTerm. For
each of the services that I frequent, I have a folder and in it I have
a file for every month that holds the messages I saved that month.
When you use the Append to... command, it will add the selected text
to the end of the file you pick. It will also change the “last append
file” to that file. The name of this file will appear in the next
menu. When you see another message you want to save, you can append
it to this file by using this second append command (or use
Command-Shift-N).
Uploading a Composed Message Many times when you want to post a
message or a reply on a bulletin board, you might want to compose the
message when you are offline. This is especially true if you are
going to post the message on a service that charges per minute. So
you type your message using your word processor or text editor and
save it in TEXT format. Some editors always use TEXT format (like
miniWriter, TeachText, McSink or QUED). Most word processors have
their own file format that includes lots of formatting information in
addition to the text. But most will let you save a file in a TEXT
only format. Some give this option in the Save As dialog (like Word
4, with full menus on). Others have a separate menu command; MS
Works has the Export command, which saves the file in a TEXT format.
When you select the Send Text command and choose a text file to send,
ZTerm will send the text in the file like you are typing it. When you
are typing or sending a message to a service or BBS, some want you to
hit return when you get near the right margin. Others will
automatically wrap text to the next line, just like most word
processors do. When you are composing a message for a service without
auto-wrap, you will need to break the lines yourself by entering a
return at the end of each line.
Text Pacing When you are sending a composed message with the Send Text
command, ZTerm can send the text a lot faster than most people could
type. Some services can’t handle received the text at such a high
rate and could lose characters. In these cases, you need to use Text
Pacing, which is a means to slow down the rate that the text is sent.
The first option in Text Pacing Options is Wait for char echo. This
is the slowest and most conservative option. When ZTerm sends a
character from your text file, it will wait until that character is
echoed back before it sends the next one. This will only work with
services that echo what you type. Most do; GEnie is one that does
not. If you don’t use wait for echo, you can use the remaining
options to slow things down. When the line prompt character is filled
in, ZTerm will wait until that character is received (after a line has
been sent), before it starts sending the next line. The last two
options let you set a delay after each character and after each line.
The values are in sixtieths (1/60) of a second, so a value of 30 would
be one half second. If you use a delay between characters, it
normally would be small, say between 1 and 5. Typical values for the
delay between lines would be between 10 and 60, but could go even
higher.
If you leave all these options blank or off, ZTerm will send the text
as fast as it can. Many BBS’s run on personal computers will be able
to handle this if the computer is handling only one line and is not
doing any other processing.
Person to Person Modem Connection There are times when you may want to
connect to a friend’s Mac (or PC), usually to transfer some files. The
easiest way is for one side to enable auto answer and have the other
person call. For example, I could enable the auto answer feature in
my modem and tell my friend to dial me through his modem. The modem
command “ATS0=1” will enable auto answer on most Hayes compatible
modems. This command tells the modem to set register zero to a value
of 1. The zero register selects how many rings before the modem will
answer the phone and try to establish a connection. You can even add
an entry to your dialing directory called “Auto Answer On” and set the
phone number to “ATS0=1”.
For a person to person connection, you usually want to turn on Local
Echo so you can see what you are typing. When I connect like this, I
always exchange a hello, etc, to make sure that the connection is OK.
Then if I am sending a file to him, I use ZModem so that he will not
have to do anything to start the transfer (because ZModem has the
autodownload feature).
Keyboard Buffer The keyboard buffer is most useful for online
conferences (for example, on GEnie or CompuServe). Selecting this
command will bring up a keyboard buffer window and you can type into
this window and perform any editing. When you hit RETURN, the
contents of the buffer are sent out. If you have ever tried sending a
message during a conference without a keyboard buffer, you know how
confusing it can get. If other users send messages while you are
typing your message, the characters of your message can get mixed in
with the other messages and get spread over several lines. With the
Keyboard Buffer, you type your entire sentence locally (and edit it if
needed) and its all sent out when you hit return.
Dialing Directory ZTerm uses the ZPhoneList file to hold setups for
the various services or BBS’s that you like to call. Each setup will
appear in the Dial menu and in the Dialing Directory window. Each
Dial setup will save all of the settings from the Settings menu above
the dividing line. The ZPhoneList file also contains some global
settings that apply to all setups. You can have multiple phone list
files. If you open ZTerm, it will look for ZPhoneList in the same
folder and if its not there it will create it. However, you can
double click on a phone list file and ZTerm will use it. You can
create different phone files by renaming or duplicating one that ZTerm
has created.
The Dialing Directory window is where you do all your maintenance of
the phone list. You add a new service with the New button. Delete
will let you remove the highlighted service. You can edit the
connection settings by highlighting the service and using the
Connection button (or double click on the service). You can rename an
entry by changing the name in the Connection settings window. The
Manual button lets you enter a number to dial without adding it as a
new service. The Set button will load the settings of the highlighted
service without dialing it.
Queue Dialing If there are several busy BBS's that you would like to
connect to, you can mark them for Queue dialing and ZTerm will call
each one, round robin, until you connect to one (or Cancel the
dialing). Setups can be marked or unmarked in the Dialing directory,
by using the Mark and Unmark buttons, or clicking in the leftmost
column of an entry. They can also by marked by selecting the service
in the Dial menu with the Shift key held down. ZTerm will
automatically mark an entry when a dial attempt fails, and will unmark
an entry when a connection is made.
ANSI Graphics The emulation that I call “PC ANSI-BBS” is called many
things by many people. Two things make up this emulation: a font that
is used by PC’s, which include a lot of line and box drawing
characters; and handling the escape sequences that most PC BBS’s use.
These sequences are pretty much the VT100 sequences (based on the ANSI
X3.64 specification), with additional sequences to change foreground
and background colors. If any of the services you call are BBS’s run
on a PC, you should set the emulation for that BBS to PC ANSI-BBS in
the Terminal Settings.
Call Waiting Call Waiting is an option available from many telephone
companies that can cause problems with modem communication. With this
option, when you are using the phone and someone tries to call you,
you will hear a short beep. This is fine when you are talking, but
when it’s your modem using the phone, the beep can get the modem real
confused. You will probably get some garbage characters received or
the modem could hang up. Most modem users with call waiting disable
this feature when making a modem call. If you have TouchTone service,
you dial *70 then dial the number. For rotary service, you would dial
1170 then the number. These codes are the most common, but your
telephone company may use other codes to disable call waiting.
So in the connection settings, you would put “*70,xxx-xxxx” for the
phone number. The comma adds a short delay for the phone company to
handle the disable function. Another way would be to set one of the
dial substitution strings, say •1, to “*70,” in the Modem Preferences.
Then you can put •1 in front of each phone number, like “•1 xxx-xxxx”.
If you ever wanted to have call waiting enabled during a call, you
could go to Modem Preferences and change •1 to no characters. 4. File
Transfers
X Y Z Modem XModem, YModem and ZModem are names of file transfer
protocols, which are a set of rules that two computers can use to send
a file from one computer to the other. A protocol will usually
provide error detection and correction, by re-sending the portion that
was received in error. XModem is the first public domain protocol
developed for use with microcomputers and is one of the most widely
supported. It was developed by Ward Christensen back in 1977.
YModem is a variation of XModem that sends an additional block of
information before the file is sent. This block zero contains the
file name, size and modification time and date. Because the file name
is sent with the file data, files could be sent in batches, which is
why this protocol is sometimes referred to as YModem-Batch. YModem
was developed by Chuck Forsberg in his YAM (Yet Another Modem)
program.
YModem-G is a variation of YModem that is useful for direct
connections to another computer or when using error correcting modems.
The receiver does not send any ACKs, so the sender just pumps out the
file as fast as it can. If an error is detected, the transfer is
stopped. There is no error recovery.
The ZModem protocol was developed for the public domain under a
Telenet contract. Its goal was to “alleviate the throughput problems
network customers were experiencing with XMODEM and Kermit file
transfers.” It was developed by Chuck Forsberg/Omen Technology. It
overcomes many weaknesses of older protocols and adds several useful
capabilities. For additional information on the ZModem protocol, look
for the file YZMODEM.ARC available on many BBS's, including
TeleGodzilla: 503-621-3746.
Omen Technology continues to enhance the ZModem protocol, adding
proprietary new features. The extended protocol is referred to as
ZModem-90. ZTerm does not implement any of these new features because
they are not in the public domain, and would require a hefty licensing
fee to use them.
ZModem The ZModem file transfer protocol is arguably one of the best
general purpose file transfer protocols for personal computers. Some
of its features include:
• various options to let it operate efficiently in a wide range of
communication environments. The most common mode is full streaming,
where there is no wait between blocks—the receiver only talks when he
has an error. • the sequence that starts a file transmission can be
detected by the receiving communication software, which can then
trigger its receive routines. This is sometimes referred to as
AutoDownload. • Crash Recovery - A file transfer that is interrupted
by modem disconnection (or other reasons) can be restarted and it will
pick up where it left off. Note: if the Mac crashes or loses power
during a transfer, you may not be able to restart the transfer because
the partial file was not closed by ZTerm. • All ZModem transfers are
batch transfers: multiple files can be sent per transfer, each file
is sent with its file name, file size and date of last modification. •
32 or 16 bit CRC's will error check all blocks: data blocks and
control messages.
For receiving files using the ZModem protocol, just start the sender
and ZTerm will detect that it should start receiving files with
ZModem. On the Opus BBS for example, to download the file
“newfiles.txt” just type “dz newfiles.txt” and ZTerm will receive it.
For sending files using ZModem, ZTerm can send a command sequence to
put the receiver in a receive ZModem mode. In the Settings menu,
ZModem Options will bring up a dialog that includes the command to
send to put the other end into ZModem receive. For Opus, this should
be set to “uz” followed by a return. When you select Send ZModem, you
will first select what files to send. When you start the transfer,
ZTerm will send the sequence from the ZModem Options and then the
transfer will start.
Binary File Type Detection ZTerm will detect certain types of binary
files, and set the appropriate creator and type for the kind of file.
It detects the type by either looking for a specific sequence of bytes
at the start of the file (a signature) or by matching the end of the
file name (e.g. the extension of an MS-DOS file). See the appendix on
ZTerm resources for additional information.
Text Detection and Conversion When ZTerm is receiving a file, it
inspects the first 128 bytes to determine if it should be treated as a
text file. If all of these bytes are Macintosh printable characters
or typical text control characters (return, line feed, tab, etc), then
it is considered a text file. The file type will be set to TEXT and
ZTerm will perform End of Line conversion. If the text has CR/LF at
each line end, ZTerm will filter out the LF. ZTerm currently does not
filter any other control characters.
Resume an Interrupted Download If a download is interrupted by
disconnection, Cancel, or whatever (but not a power failure - the file
won’t be closed properly) it can restart where it left off using
ZModem. A partial file will have the original file name with a bullet
(•) at the end. If you try to download a file and a file with the
same name plus a bullet at the end is already in the current receive
folder, ZTerm will resume the download where it left off.
MacBinary II ZTerm supports the original MacBinary format for the
complete transfer of Macintosh files and their additional file
information. The MacBinary II standard (dated July 1987) is also
supported. The file transfer status dialog will display either
‘MacBinary’ or ‘MacBinary II’ when that format is being used.
Performance Log Each time you transfer a file with ZTerm, it will
place an entry in its performance log file. The file is named “ZTerm
Xfer Log” and it is stored in the same directory as ZTerm. It is a
standard TEXT file with TABs between each field, so it can be imported
to many spreadsheets, databases, etc. Since this file could grow
large, you may want to periodically rename it. At the end of the
year, I rename mine to have the year at the end of the name. The
transfer log can be disabled in General Preferences.
Transfer Efficiency Calculations I don’t know if there is an accepted
procedure for transfer efficiency calculation, so I will just explain
how I am currently calculating efficiency. All ZTerm timings use the
Macintosh TickCount, which has a resolution of 1/60th of a second.
For receiving files using ZModem or YModem, the clock starts when
“block zero” (the block with the file name and other information) is
received. This block zero is not the same as the MacBinary header.
For XModem file receives, the clock starts just before the initial NAK
(or whatever) is sent. The clock stops when all file data is
received, written and the file is closed.
For sending files using ZModem or YModem, the clock starts after block
zero is sent. For XModem, it starts when ZTerm starts waiting for the
initial NAK. The clock stops on ZModem file sends when the ZRINIT
response is received for the ZEOF message. For YModem and XModem, it
stops when the ACK response is received for the EOT message.
The CPS figure (characters per second) is the total file bytes (does
not include block zero) divided by seconds. The efficiency figure is
CPS times 10 bits per data byte divided by BPS (bits per second,
sometimes called baud rate).
Hardware Handshake If you have a high speed modem or one with
compression and error control (like MNP, V.42 and V.42bis), you may
want to use hardware handshaking to get the most efficient file
transfers. This requires a correctly wired cable and additional modem
configuration. See the section on High Speed Modems.
Compressed Files The files available for download on BBS’s and online
services are almost always in a compressed format. There are several
“archive” programs that will compress one or more files into an
“archive file.” In addition to reducing the time to transfer the
file, it provides a means to make a package of several related files,
so that anyone who downloads a package will get any necessary files.
For example, the ZTerm archive file that I upload contains the
program, this documentation file, and several other useful files.
Packaging them together in one archive file will make sure that a
downloader will get all the files.
Here are the file extensions for the common archive formats. A file
extension (which is more common with non-Mac operating systems)
appears at the end of the file name and provides some indication of
the type of file.
.cpt Compactor format -- use Compact Pro or Extractor .hqx BinHex
format -- use BinHex 4.0, BinHex DA, any of the StuffIt programs,
Compact Pro, or mcvert (for Unix). .sit StuffIt format -- use any of
the StuffIt programs. .sea Self Extracting Archive. Double-clicking
on this should give you the uncompressed file. .pit PackIt format,
not used much any more -- use PackIt or any of the StuffIt programs.
.image DiskCopy images of a floppy disk. This is the format used for
the System software on many services. Use the DiskCopy application to
translate these back onto disks. .Z Unix 'compress' files. Uncompress
with the Unix command 'uncompress' or on the Mac with MacCompress
(available from sumex). .dd DiskDoubler format. Use DiskDoubler or
DDExpand.
MultiFinder ZTerm will operate in the background under MultiFinder or
with System 7. Once a file transfer is started, you can move ZTerm
into the background.
CompuServe B-Plus and Quick-B Compuserve has its own file transfer
protocol that is very efficient. Quick-B was an interim protocol that
was established while they finalized their current enhanced protocol
which they call B-Plus. When CompuServe asks you what protocol to use
for downloading, you should pick the B-Plus option. The QuickB option
will also work just fine. There is no menu entry to start a B-Plus
transfer; Compuserve will send a sequence that will start the
download. Note: You must enable this option in the Transfer Options
Settings.
Bonus Secret Feature #1: If you are using an Opus BBS system, and ask
for a file listing and you see a file you would like to download, just
hold down the Command key and double click on the file name. ZTerm
will send “dz” followed by the name that you double clicked, then a
RETURN. I would like to eventually make this feature more general to
work with different systems.
5. Scripting A script is a sequence of commands. ZTerm scripts are
stored in TEXT files, which you can create with a text editor or most
word processors (you must save the file in a TEXT only format). A
script may be run from the “Run a Script” menu command, or by a macro
string or automatically run by the dialer when you connect to a
service. If a macro string starts with ® (Option-R) followed by the
name of a script file in the ZTerm directory, that script file will be
run when you select that macro (from the Macro menu or with Command -
number). For example, I could set a macro label to “Read New” and set
the macro string to “®readnew.zts” and when I select Read New from the
Macros menu it would run the readnew.zts script file in the ZTerm
directory.
Logon Scripts When ZTerm connects to a service, it will look for a
text file with the same name as the service with a “.zts” on the end.
For GEnie, it will look for a file called “GEnie.zts” in the ZTerm
folder. If it finds a file, it will run the script.
String constants can use any form of quote: "one", 'two', “three”,
‘four’ Control characters in a string constant are specified with the
^ (carat) followed by the letter: "^M" is control-M, which is the
Return character.
Built-in variables $Account - string in the connection dialog
$Password - string in connection dialog $Service - name of current
service $Date - in the short format $Time - in hours, minutes and
seconds $Day, $dd - day of month ($dd has zero fill) $mm - month $year
$yy - low two digits of year
Script Commands Beep Beep <duration> -- if you are using the simple
beep, you can give a duration.
Beep 4 ticks
Close capture -- close the capture file.
Display <string(s)> -- display text in the terminal window
Display “Connected at ” $time
Hangup -- hangup the modem (same as the menu command)
Open capture <capture file name> -- start capturing data to a file.
Open capture "GEnie.log"
Send <string(s)>
Send “CIS^M” -- send the string (^M is a return)
Send $account “,” $password “^M” -- send multiple strings
Wait <durations> -- pause a specified amount of time
Wait 2 seconds
Wait 40 ticks -- a tick on the Mac is 1/60 second (40 ticks is
2/3 second)
Wait for quiet <duration> -- wait for no incoming data for the
specified time.
Wait for quiet 4 seconds
Wait for prompt <string> -- check for the given string when data
stops.
Wait for prompt “Username:”
Comments -- these three forms make the rest of the line a comment: --
HyperCard style comments # MPW style comments ; another comment
character.
Example Script
# GEnie.zts - Simple logon script for GEnie wait 2 seconds
# send hhh with short delay between them send “h” wait 10 ticks send
“h” wait 10 ticks send “h”
# wait for GEnie to prompt for your user ID wait prompt "U#"
# send the account and password (from connection settings) with comma
between them # and a return (^M) at the end. send $account “,”
$password “^M”
# send beep to wake up - you are logged in now beep 5 display
"Connected at " $time
6. Modem Commands
A modem is controlled by sending it commands. There are commands to
configure a modem and commands to attempt a connection (the dial
command). ZTerm handles the dial command, but you may have to learn
about some commands if you need to do any special configuration of
your modem. This section will explain some of the most common
commands used by “Hayes compatible” modems. Advanced modems will have
additional commands which are not described here and in many cases
will be unique to that brand of modem. You will need to consult your
modem manual for all of its commands and settings. Some modems have a
command that will print a summary of its commands. On US Robotics
modems, the commands AT$, AT&$, ATD$ and ATS$ will give a help summary
on a portion of the modem commands.
There are three places in ZTerm where you can enter a modem command.
In the Modem Preferences there are the initialization and
deinitialization strings. These two are to do any modem configuration
needed when ZTerm starts and quits. And in the Connection settings
for each service there is the PreDial init string. This is to make
any modem configuration changes needed just for this service. In
addition, you can manually type a modem command in the terminal
window. This is a good way to try out modem commands or to do
one-time changes.
All modem commands start with AT, which is sometimes referred to as
modem attention. You could put several modem commands together on one
line. In this case, the AT would only be used once, at the beginning
of the line. A command is processed by the modem when it receives a
RETURN.
Here are some of the more common modem commands: ATA - answer an
incoming call and attempt to connect. ATDT 5551212 - dial the number
using touch tones. ATDP 5551212 - dial the number using pulse dialing.
ATE1 - turn on the echoing of modem commands. ATH0 - hang up (go on
hook). ATM0 - speaker always off. ATM1 - speaker on while dialing
until connection established. ATV1 - verbal result codes (sends
“CONNECT” instead of just “1”). ATZ - reset modem to default
configuration. ATS0=1 - set modem to auto answer after one ring.
ATS0=0 - turn off auto answer.
7. High Speed Modems
High speed modems would include 9600 bps or higher modems and also
2400 bps modems with compression and error control protocols like MNP,
V.42 and V.42bis.
Maximizing the Efficiency To get the most out of a high speed modem,
you may need to change the configuration some from the factory
settings. Because the compression and error correction features can
make the expected throughput somewhat variable, it is best to set the
data rate between your Mac and the modem to a higher speed. This is
often called “locking the port” at a higher speed. For 9600 bps
modems, you would normally set the interface to either 19200 or 38400.
In addition, you should use a “Hardware Handshaking” cable so the Mac
and the modem can handle the variable throughput. All Macintosh
models since the Mac Plus can take advantage of hardware handshaking.
The Mac 128, Mac 512K and Mac 512KE cannot use hardware handshake
because the serial ports have only one of the two necessary control
signals available.
These are the things you need to do to set all this up: • Set ZTerm to
a fast data rate in the Connection settings (38400 for a 9600bps
modem). • Set ZTerm to use Hardware Handshaking in the Connection
settings. • Connect the Mac to the modem with a Hardware Handshake
cable (see Appendix). • Set the modem to use a fixed DTE speed (&B1
for a USR HST). • Set the modem to ignore DTR (&D0 for a USR HST). •
Set the modem to use CTS transmit flow control (&H1 for a USR HST). •
Set the modem to use RTS receive flow control (&I0 &R2 for a USR HST).
(I don’t have a USR modem, but I believe these commands are correct.)
Modem Standards V.32 is the CCITT (international) standard for
modulation (the way a modem converts bits into sounds that can be
carried by the voice telephone system) at 4800 and 9600 bps,
full-duplex on voice-grade two-wire dial-up and leased telephone
lines. It was adopted in 1984.
V.32bis, which was adopted in early 1991, is 100% backward compatible
with V.32. In addition, it supports rates of 7200, 12000 and 14400
bps. It also supports a “rapid rate renegotiation” capability, which
allows the modems to change speeds up or down in as little as 1/10th
of a second, for example, to handle changes in line conditions (V.32
requires full retrain to change speeds, which can take 5 to 10
seconds).
V.42 is the CCITT standard for error control in modems. It defines
two protocols: the primary protocol, LAPM, on which all future
extensions to the standard will be based, and an Alternative protocol,
defined in an annex, which provides for backward compatibility with
modems that implement MNP classes 2-4. V.42 can be used with any
full-duplex modem that uses async-to-sync conversion (e.g. V.22,
V.22bis, V.26ter, V.32, V.32bis).
V.42bis is the CCITT standard for data compression in modems. It is
based on the Lempel-Ziv-Welch technique, with extensions from IBM,
British Telecom, and Hayes, and can provide up to 4-to-1 compression
on certain types of data. It is currently standardized for use only
in conjunction with v.42 LAPM. V.42bis doesn’t imply the
implementation of any particular modulation scheme; specifically, you
can’t assume that a V.42bis modem also supports V.32 or V.32bis.
8. Trouble Shooting
Problem: Can’t talk to the modem. Things to check: Make sure the
modem cable is connected to the port selected in the Modem
Preferences. If the SD light on the modem (Send Data) does not blink
when you type in ZTerm, you probably have a cable problem. Try typing
ATH then hit Return; if the modem responds with OK on the next line,
then you are talking to the modem.
Problem: You get the message “NO DIAL TONE” when trying to dial.
Possible causes: The modem is not connected to a phone line. Someone
else is using the phone.
Problem: During an XModem or YModem transfer, it keeps getting errors
after 2176 or 17408 bytes. Possible cause: something in the data path
(like a terminal server) is not passing on the XON or XOFF character.
For X/YModem, all characters must be passed through. See if the
terminal server has a binary mode.
Problem: During a ZModem transfer, lots of errors occur after the
first few blocks. Possible cause: a flow control problem with one of
the machines. Try setting a window limit to see if that helps. If
you are sending, go to the ZModem Options and put 2048 in for the
Window Limit. If you are receiving from a unix system (using sz), try
the command “sz -w 2048 <filename>”.
Problem: Modem hangs up during a download or when receiving lots of
text. Fix: If you are using hardware handshaking, you need to
configure your modem to ignore the DTR line. 9. Menu Reference
The Apple Menu
The Apple menu has information about ZTerm and any desk
accessories currently available.
About ZTerm… This brings up a dialog giving information about the
program, the version number and registration information.
The File Menu
Start Capture… This is ASCII capture that will save all received
characters to the selected file. When capture is active, the menu
will read Stop Capture.
Send Text… After selecting a TEXT file, this will send the characters
of the file. The transmission will be paced by options selected in
the Text Pacing settings.
Close Window Closes the front window.
Receive File(s)… This menu has a sub-menu for the various protocol
receive options. XModem receive will put up the normal Save dialog so
you can select the file name and folder to put the received file in.
The other options all get a file name from the sender and store the
file in the current receive folder (currently the same as the default
folder).
XModem XModem is one of the most common transfer protocols for
personal computers. The Transfer Options settings let you select what
type of error checking is requested (CRC or Checksum). ZTerm's XModem
will accept 1024 or 128 byte blocks; the sender selects the size of
blocks.
YModem YModem is based on XModem, but the sending program also sends
the file name, the size and the date of the file. This protocol is
often called YModem Batch because many files can be sent in a batch.
YModem-G YModem-G is a variation of YModem that is meant for error
free connections like a direct connection. There is no wait at the
end of a block for the receiver to Acknowledge. The receiver only
signals if an error occurs, in which case the transfer is stopped.
ZModem This is normally not needed because ZTerm detects the sender
starting a ZModem transfer and automatically starts a ZModem receive.
This is called AutoDownload in ZModem parlance. Files are stored in
the current receive volume and folder. For example, if you are
connected to an Opus BBS, you can type "dz stuffit.sit" and Opus will
start the transfer. ZTerm will detect this and receive the file.
(Default Receive) The item after “Receive Files” in the File menu is
the default receive option for the current Setup. You should set the
default to the normal method you use to receive files for each setup.
Then you can just select this item (or Command-R) to receive a file.
The default can be set in the Transfer Options dialog.
Send File(s)… This menu has a sub-menu for the various protocol file
send options.
XModem Send a file using the XModem protocol (with 128 byte blocks).
The receiving program determines wether CRC or checksum is used for
error detection; ZTerm will handle either.
XModem-1K Like XModem, above, but using 1024 byte blocks. Some
communication software (including BBS's) mistakenly refer to this as
YModem.
YModem-128 Send file(s) using the YModem protocol with 128 byte
blocks. This is not normally used. You would usually want to use
1024 byte blocks whenever possible.
YModem-1K Send file(s) using the YModem protocol with 1024 byte
blocks.
ZModem Send file(s) using the ZModem protocol. After the files are
selected and Start is clicked, ZTerm will first send the characters
set up in the ZModem Options dialog. This is usually needed to get
the other computer ready to receive files using the ZModem protocol.
After these characters are sent, the transfer will begin.
(Default Send) The next item in the File menu is the default send
option for the current Setup. You should set the default to the
normal method you use to send files for each setup. Then you can just
select this item (or Command-S) to send a file. The default can be
set in the Transfer Options dialog.
Transfer Convert This menu has a sub-menu to select the desired
file transfer conversion option. You can set the default conversion
for each setup by holding the Command key while you select the desired
conversion option.
Smart MacBinary On receive, MacBinary files and text file are
automatically detected and converted as appropriate. All other files
are received as binary. On send, TEXT files are sent as text, files
received as binary by ZTerm are sent as binary and all other files are
sent as MacBinary II. This is the best option if you will be sending
a mix of MacBinary files and other files.
Always MacBinary This option would be useful when connected to
another Macintosh. All files are sent as MacBinary II, even text
files. Receive uses the same detection of Text and MacBinary files
used by Smart MacBinary.
Binary Data On receive, all files will be received as binary files
with no conversion. On send, all files will be sent as binary and
only the data fork will be sent.
Text Receive with this option is a little more lenient in its text
detection than Smart MacBinary. On send, the data fork of a file is
sent with appropriate text conversion.
Append to… Will append the selected text to a file you specify. It
also will remember the file, so you can append addition text to the
same file using the next command.
Append to <last> Will append the selected text to the last file
that text was added to for this service.
Save Selection If there is a block of text selected in the scroll
back buffer, this will put up the standard Save dialog to save the
selection to disk.
Page Setup… Will present the standard page setup dialog, where you can
select the paper orientation and other options. Note that margins and
the print font can be set with Printer Preferences in the Settings
menu.
Print Selection This will print the text selection to the printer.
Quit This will exit ZTerm. If the current setup has been changed,
it will ask if the setup should be saved.
Edit Menu
Undo For use by desk accessories. Not used by ZTerm.
Cut Copy the selection to the clipboard and then remove it from the
scroll back buffer.
Copy Copy the selection to the clipboard.
Paste Start sending the text that is on the clipboard. This can be
stopped by pressing Command-period.
Clear This will remove the selection from the scroll back buffer.
Copy to Modem Copy the selection to the clipboard, then paste.
Select All Selects all the text in the buffer and the current screen.
Keyboard Buffer This will open the Keyboard Buffer window. You can
enter a line here and when you hit RETURN, the whole line is sent out
the serial channel. This is especially useful for online conferences.
Find… This will let you search the Scroll Back buffer. The search
is case insensitive; searching for MAC will find Macintosh and Mac.
The line that the match appears in will be selected (and highlighted).
The search begins from the top of the buffer (the oldest line).
Clicking on the Find button again will find the next occurrence. If
you change the find string, it will reset the find position so that it
will start again at the top of the buffer when you click Find again.
Find Again This will repeat the last search.
Clear Scroll Buffer… This command will clear all lines from the
Scroll Back buffer. After you log off a service and have reviewed the
buffer and printed or saved any portions that you want to preserve,
you might want to clear the buffer before calling another service. If
you hold down the Shift key it will also clear the current terminal
screen. This item will prompt you to make sure you want to clear the
buffer if the confirmation option is enabled.
Save Lines Off Top When this is checked, ZTerm will save lines to the
scroll buffer when they are scrolled off by a line feed or clear
screen sequence. This is normally checked, but there are a few
situations where you might want to turn it off.
Dial Menu
Directory… This will display the Dialing Directory window, which
lists all the current services in your phone list. You can add,
delete or modify services from this window. The Manual button will
ask you for a number and then will dial it (to try a number without
adding it to your phone list).
Save Setup This will save the current settings to the current
service.
Dial Marked This will start queued dialing of all marked entries in
the Dial menu. If no entries are marked, it will mark the current
service and just dial that one. Entries can be marked in the dialing
directory or by holding down Shift and selecting the entry. An entry
is automatically marked when a dial attempt returns a non-CONNECT
response. Hold down Shift when you select this and it will mark all
entries; hold down Shift-Option and it will unmark all entries.
Hang Up Will hang up the modem. An option in Modem Preferences lets
you select hang up by pulsing the DTR line. Otherwise it will hang up
by sending the command mode escape (+++) followed by the hangup
command (ATH0). This item will prompt you to make sure you want to
hang up if the confirmation option is enabled in General Preferences.
(dial entries) Selecting the name of a service will change the
settings as they were saved for the service, then dial the phone
number (if any) until a connection is made or the dialing is Canceled.
If you hold down Option when you select a service, it will load
the settings, but won’t dial the phone number. If you hold down the
Command key when you select a service, that service will become the
default (and the menu item will be outlined). If you hold down Shift,
the entry will be marked (or unmarked) for Queue Dialing.
Settings Menu
Connection… This will bring up the connection dialog. You can rename
the service by changing the name here. This name will appear in the
dialing directory and the Dial menu, so you don’t want a super long
name. You can change the phone number for the service. Leave it
blank if its a direct connection to another computer. You can put a
modem command in the PreDial init field, which will be sent before
dialing the service. You can put your account and password in these
fields; the values can be accessed from a script.
The data rate and other communication settings are here. Choose 8
data bits and no parity, unless you know that another format is
required. The most common alternative is 7 data bits with either even
or odd parity. This is more common on mainframes; almost all bulletin
boards that run on personal computers will accept 8 data bits, no
parity. One stop bit will work in most situations.
Check the Local Echo option if the service does not echo what you
type. Most BBSs do echo what you type, so in most cases you leave
this unchecked. You can usually leave XOn/XOff checked because most
services support it. If you have a high speed modem and a hardware
handshake cable, check that option, and see the section on high speed
modems.
Terminal… The terminal settings dialog lets you select various
terminal emulation options. You can select if extended characters
should be displayed. Turning Auto Line Feed on will cause a line feed
when a return is received. Line feeds are ignored when they directly
follow a return. Leave the Auto Line Feed off if the service is a
unix or DEC machine. If VT100 keypad is turned off, it will just send
the character marked on the key.
You can select if the Backspace key should produce a RUBOUT (or
DELETE) character code, which many DEC systems expect. Enabling
Destructive Backspace will cause the previous character to be erased
when the backspace code is received. You can select VT100 or PC
ANSI-BBS emulation.
Text Pacing… These options are used for ASCII send and Paste. Wait
for character echo will wait for the host to echo the character. There
is a five second timeout. If wait for echo is not selected, it will
use the Delay between Characters and Delay between Lines (which is
used after a return is sent).
If a Line Prompt Char is specified, it will wait for that
character to be received after sending a Return. You can set this to
a prompt character that your host uses when it is ready for the next
line of text.
Transfer Options… The first two items set the default send and
receive protocols for this service. These make it more convenient to
start a transfer with each service. Command-R will start a file
receive with the default protocol and Command-S will start a file send
(default send protocol). Note that the B-Plus or Quick-B protocols
used by Compuserve are not listed. This is because a B-Plus transfer
on Compuserve is started by the Compuserve host by sending a special
sequence. There is no menu in ZTerm to start a B-Plus transfer. If
the service you are setting up is Compuserve, make sure you check the
“CIS B+ / Quick-B Protocol” option.
For X/YModem Error Checking, the “Try CRC, fallback to Checksum”
option is usually the best. Send CK for CRC-1K should be used for
systems (like Second Sight) which use this popular XModem extension to
allow the receiver to request 1k blocks. Use Checksum Only could be
used with systems that don't support XModem CRC error checking. For
the Sent Filenames option, the safest choice is “Remove funny
characters.” If the service is a BBS running on an MS-DOS computer,
you will want to select “MS-DOS (8.3) limits.”
ZModem Options… Some of the items in this dialog are not implemented
yet. “Command to start receive at other end” lets you define the
character sequence that will be sent to the other system when you want
to start sending file(s) to it using ZModem. For Opus it should be
“uz^M”. ZTerm will send this string when you start a ZModem file
send.
The next part of the dialog lets you select the SubPacket length
for ZModem file sends. The sending system always makes this choice.
The “Auto” option will choose a size depending on the data rate.
Window Limit can be used to enable ZModem’s sliding window mode when
sending files. This can solve problems with buffer overruns. The
value should be a multiple of 512; typical values are 2048 or 1024.
When this field is blank, it will not use sliding window mode.
Escape Controls can be checked if any part of your transmission
path chokes on control characters. ZModem always escapes ^P, ^Q, ^S,
^X and their high bit set counterparts. Escape controls will cause it
to escape all control characters.
General Preferences.. The first item selects what application to use
for TEXT files. When you save a text file in ZTerm, it will be marked
as created by the selected application. The creator code is listed to
the right; its a 4 character sequence that identifies an application
program. This will affect the icon displayed for a text file created
by ZTerm and also selects the application that should be opened if you
double clicked on the text file. You can also set the creator and
file types used for unrecognized binary files. The normal values are
????/????.
The logging of file transfers is enabled with the Log File
Transfers option. You can enable a confirmation request before Quit,
Hang Up or Clear Buffer is performed.
Terminal Preferences This dialog lets you select the type size for
the terminal window (9 or 12 point will work best). You can set the
cursor to an underline or a block, and whether it blinks. The Hide
Terminal Window in background option can be used to reduce screen
clutter with MultiFinder or System 7.
The Command Key item lets you redefine how the Command key is
used. Normal lets you select key equivalents for menu commands, like
Command-Q for Quit. Control lets you use the Command key to generate
Control characters. Meta (8th bit) and Meta (ESC prefix) are useful
with the EMACs editor on Unix machines. Option for Control, which
only appears if your keyboard does not have a control key, is another
way to get control characters.
Capture Text by line will cause the capture function to write out
the current line of text when a line feed is performed. This will
strip out any escape sequences. If this is not checked, all received
characters (except LF) are written to a capture file. The Ignore Bell
option will tell ZTerm not to beep when a bell character is
received.The duration of the break signal (and Shift Break) is set
here, in 60ths of a second.
Printer Preferences… Here you select the font and size used by
Print Selection. You can also turn off headers on the printout. You
can also set the margins used for printing. Note that the right
margin value is not used.
Modem Preferences.. The first item selects which serial port to use.
You can modify the modem initialization string in this dialog. This
string is sent when ZTerm starts up (except when the default setup has
no phone number, i.e. a direct connection). The string is also sent
if you hold down Option when selecting Reset Terminal. The
DeInitialize string is like the Initialization string, but it is sent
when you quit ZTerm. You can usually leave this blank, but you may
want to use it to disable something that you turned on in the init
string. For example, if your init string turns on the auto answer
feature of the modem, you may want to turn it off when you exit ZTerm.
The Dial Substitution strings can be used for things that could be
common to several services. I have set •1 to “*70,” which will
disable call waiting. Then I can put •1 in front of the phone number
for a service, and it will dial the *70 first. The comma after the
zero causes a pause in the dialing, usually one second. You could use
one of the dial substitutions for your long distance numbers. You
might normally set it to “1”, so it will use your normal long distance
carrier, but if you wanted to try another, you could change the string
to something like 10288, which will dial long distance using AT&T.
The Dial timeout is how many seconds ZTerm will wait for a
response from the modem after sending a dial command. A value of 60
is pretty reasonable. You can select Pulse dialing with the check
box. The Hardware Hangup option is an alternative (faster) way to
tell a modem to hang up. The DTR line is only available on MacPlus
and later machines. Your modem cable must be wired correctly for this
to work, and your modem has to be set up correctly. Also, you can’t
use hardware handshaking and Hardware Hangup — they both use the same
line. (Some have a switch to ignore the DTR line.)
Color… This dialog lets you enable the use of color and make some
color settings. Swap Black & White reverses the meaning of the escape
sequences that set the foreground or background color to black or
white. I don’t know if it helps any, but I put this in because Opus
likes to show colored text on a black background, which is the norm
for the PC world. This option should make it more normal for the Mac
world (white background). The Text and Background Default Colors are
used when no ANSI sequence sets the colors to something else. The
defaults are also used when you view text in the scroll back buffer.
Receive Folder… This will let you select the folder for file
transfers, where received files will be stored.
Macros Menu Edit Macros… You can define the string that is sent for
each macro key (Command-1 thru Command-0) and the label for each
macro. The labels are used in the lower portion of the menu. Control
characters can be entered with a ^ (caret) followed by the letter (^M
for a return). If the string starts with ® (Option-R) then a file
name, ZTerm will try to run that script file when you select that
macro.
Macro Sets… This lets you create a new macro set, rename a set, delete
a set or select the set to be used by the current service. Each set
hold 10 macros, each with a label that appears in the menu.
Run a Script… This lets you manually start a script running. See
the section on scripting for more information on scripts.
(macros) The labels of the current macro set are listed in the
menu. Selecting one will cause that macro to be sent out.
Misc Menu
Clear Screen Need I say more?
Send Break This will send a break signal. If the Shift key is down,
it will use a different duration. The durations are set in Terminal
Preferences.
Help… This will display a dialog of ZTerm basics.
Support… This will display a dialog giving information on how to
reach me.
Reset Terminal This function clears the screen, and resets many
screen settings to a normal setting. If you hold down the Option key,
it will also send the modem initialization string.
Show Controls This is primarily a diagnostic tool to let you see
control characters and escape sequences. This does not affect what is
already on the screen; it only affects the display of incoming
characters. The characters of an escape sequence will be displayed,
but the function will not be performed (except carriage return and
line feed).
Port Stats… This shows some statistics about the maximum number of
characters that have been waiting in the serial driver’s input buffer.
Purge Buffer This will purge any characters in the serial input
buffer until there is two seconds of no data. It will timeout after
20 seconds of purging. If you hold down Option, it will write out a
file with the contents of the serial input buffer (to help diagnose
unusual problems).
Appendices
Key Sequences
This table shows the many command key equivalents you can use in
ZTerm.
Cmd-A - Select All. Cmd-B - Send a BREAK. Cmd-Shift-B - Send a long
BREAK. Cmd-C - Copy selection to clipboard. Cmd-D - Open dialing
directory. Cmd-Shift-D - Dial Marked services. Cmd-E - Edit
Connection. Cmd-Shift-E - Toggle local echo. Cmd-F - Find. Cmd-G -
Find Again. Cmd-H - Hangup. Cmd-K - Keyboard Buffer (for online
conferences). Cmd-L - Clear the scroll buffer. Cmd-Shift-L - Clear the
screen and scroll buffer. Cmd-M - Copy selection to modem. Cmd-N -
Append selection to file. Cmd-Shift-N - Append selection to last
append file for this service. Cmd-P - Print Selection. Cmd-Q - Quit.
Cmd-R - Receive file with default receive protocol for this service.
Cmd-S - Send file(s) with the default send protocol for this service.
Cmd-T - Terminal settings. Cmd-V - Paste to modem. Cmd-W - Close
Window. Cmd-X - Cut the selection to the clipboard. Cmd-Z - Undo (for
desk accessories).
When the Dialing Directory window is in front: Cmd-C - Edit connection
settings. Cmd-D - Dial highlighted service. Cmd-M - Mark the
highlighted service. Cmd-Shift-M - Mark all services. Cmd-N - Add a
New service. Cmd-Q - Queue dial (Dial marked services). Cmd-S - Change
to settings for the highlighted service. Cmd-T - Terminal settings.
Cmd-U - UnMark the highlighted service. Cmd-Shift-U - UnMark all
services. Space or Down Arrow - move highlight down. BackSpace or Up
Arrow - move highlight up. Shift Click - toggle the mark for the
service. Command Click - Make the service the startup default. Any
letter - move highlight to matching service name. Double Click on a
service - Edit connection settings.
Keyboard Mapping On the MacPlus and Mac 512, ZTerm remaps the keyboard
using the Toolbox's Script Manager using a custom KCHR resource. This
will allow you to use the Option key like a control key, and to add
arrow keys to the antique original keyboard. This remapping is
enabled in the Terminal Preferences: use Option for Control. If
ZTerm's remapping is not desirable (if you have an international
keyboard with a different layout or yours is modified for Dvorak), you
can turn this off. The Script Manager is only in System 4.1 and
later, so this Option for Control remapping will not work on older
systems.
The mapping below is only for MacPlus and earlier, when Option for
Control is enabled: UP Option = LEFT Option [ Right Option ] Down
Option ' (These 4 make up a diamond on the old keyboards.) ESC `
(Accent grave)
For all keyboards: Cmd-Enter send a break Control-Space NUL
Control-2 NUL Control-4 ^/ (FS) Control-5 ^] (GS) Control-6 ^^
(RS) Control-7 ^_ (US)
Extended keyboard: F1 VT220 F6 esc[17~ F2 VT220 F7 esc[18~ F3
VT220 F8 esc[19~ F4 VT220 F9 esc[20~ F5 VT220 F10 esc[21~ F6
VT220 F11 esc[23~ F7 VT220 F12 esc[24~ F8 VT220 F13 esc[25~ F9
VT220 F14 esc[26~ F10 VT220 F15 esc[28~ F11 VT220 F16 esc[29~
F12 VT220 F17 esc[31~ F13 VT220 F18 esc[32~ F14 VT220 F19 esc[33~
F15 VT220 F20 esc[34~
help VT220 Find esc[1~ home VT220 Ins here esc[2~
page up VT220 Remove esc[3~ del VT220 Sel esc[4~ end
VT220 Prev esc[5~ page down VT220 Next esc[6~
Error and Other Messages
During a File Transfer CRC Err, Checksum Err - an error was
encountered in the block of data and it must be resent. Got sector
header xxx - an invalid character was received instead of the start of
block character. Hdr CRC error, @ xxxx - an error occurred in the
ZModem block header, xxxx is the current position in the received
file. Data CRC error, @ xxxx - an error occurred in the ZModem data
block, xxxx is the current position in the received file. No ACK on
EOT - the receiver did not acknowledge the end of file message.
Timeout on sector ACK - no acknowledge was received for the block in
the allotted time. NAK on sector - the receiver got an error in the
block and requests retransmission. Got burst for sector ACK - when
waiting for the sector acknowledge, several characters were received
(perhaps from line noise). No ACK, got a xxx - when waiting for
acknowledge, the character xxx was received. Got ZRPOS = xxxx - the
received got an error and requests retransmission starting at file
offset xxxx.
Modem Cables Macintosh (Mini DIN-8) Serial Connectors (Mac Plus and
later) (This diagram is the connector on the end of a modem cable that
you plug into your Mac.)
Pin Name Description/Notes 1 HSKo Output Handshake (from
Zilog 8530 DTR pin) 2 HSKi/Ext Clk Input Handshake (CTS) or TRxC
(depends on 8530 mode) 3 TxD– Transmit Data line 4 Ground
5 RxD– Receive Data line 6 TxD+ Transmit Data line 7
GPi/DCD General Purpose Input (not all models) 8 RxD+ Receive Data
line; ground this line to emulate RS232
Mac DIN-8 to MODEM - Hardware Handshaking
Mac Modem (DB-25) 1 (HSKout) -> 4 (RTS) 2 (HSKin) <- 5
(CTS) 3 (TxD-) -> 2 (TxD) 4 (GND) <-> 7 (Signal Gnd) 5 (RxD-) <- 3
(RxD) 6 (TxD+) -- NONE 7 (GPi) <- 8 (DCD) - not currently used
by ZTerm 8 (RxD+) <- 7 (Gnd)
Note: This is my recommendation for the cable wiring. Pin 7 (GPi) is
not currently used and I don’t know if any off-the-shelf cables have
pin 7 connected. Some hardware handshake cables will have pin 20
(DTR) on the modem connected to Mac pin 1 (in addition to pin 4 RTS).
This is OK but you MUST remember to configure the modem to ignore the
DTR line. MacConnection is selling a cable labeled ‘Mac+ to MNP
modem’ that is like this (pin 1 to 4 & 20 of the modem).
Mac DIN-8 to MODEM - Typical Non-Hardware Handshaking
Mac Modem (DB-25) 1 (HSKout) -> 20 (DTR) 2 (HSKin) <- 6
(CTS) & 8 (DCD) 3 (TxD-) -> 2 (TxD) 4 (GND) <-> 7 (Signal Gnd) 5
(RxD-) <- 3 (RxD) 6 (TxD+) -- NONE 7 (GPi) <- NONE 8 (RxD+)
<- 7 (Gnd) Macintosh 512, 128 Serial Connectors (DB-9) (This diagram
is the connector on the end of a modem cable that you plug into your
Mac.)
Pin Name Description/Notes 1 Ground 2 +5V See Hardware
reference for power limits 3 Ground 4 TxD+ Transmit Data line
5 TxD– Transmit Data line 6 +12V See Hardware reference for
power limits 7 HSK HandShaKe: CTS or TRxC, depends on Zilog 8530 mode
8 RxD+ Receive Data line; ground this line to emulate RS232 9
RxD– Receive Data line
Mac 512, 128 (DB-9) to MODEM
Mac Modem 1 (GND) <-> 1 (Gnd) 3 (GND) <-> 7 (Signal Gnd) 4
(TxD+) -- NONE 5 (TxD-) -> 2 (TxD) 6 (+12v) -> 20 (DTR) 7
(HSKin) <- 6 (CTS) & 8 (DCD) 8 (RxD+) <- 7 (Signal Gnd) 9 (RxD-) <-
3 (RxD) Resources ZTerm does not save any of its settings in the ZTerm
file. All settings are stored in the PhoneList file. You can lock
the ZTerm application for some protection against viruses.
Binary File Type Detection When a file is received that is not in
MacBinary format and is not text, ZTerm will see if it is a known
type. If it is, ZTerm will set the appropriate creator and type. This
is especially helpful to those transfering files from other computer
systems.
There is a resource which contains file creator and types, with
identifying information. If you are handy with ResEdit, you can add
additional types to this resource. The resource is STR# 335. Each
string in the list is one binary type detector. There are currently
two types of detectors: type 0 looks for a signature (a sequence of
bytes at the start of the file), and type 1 which just looks at the
end of the file name (eg, the extension if its coming from ms-dos).
Type 0 is the preferred kind, but some binary files do not have a
signature. I may add additional types of detectors; if you have any
ideas, let me know.
Each detector string begins with the detector type (0 or 1), then the
4 character creator, and the 4 character file type. Type 0 then
follows with the signature bytes (any length). You should try to keep
the signatures between 2 and 8 bytes. Type 1 follows with the
characters to match at the end of the file name (case insensitive).
Some examples:
For GIF files: 0BozoGIFfGIF8
For ARC files: 1arc*mArc.ARC
The first example will set binary files that start with GIF8 to
creator “Bozo” and type “GIFf”. The second example will set binary
files whose name ends with “.ARC” to creator “arc*” and type of
“mArc”. This is for ArcMac from DogStar Software.
The current detectors handle GIF, ZIP, ARC, ZOO and some Lotus, Excel
and Word file types. There are a lot more binary file types that you
might need to transfer to your Mac from other machines. If you know
the file signature or typical extension, and the appropriate Mac
creator/type, please let me know so I can put them in a later release
of ZTerm.
The default binary file type is normally a creator and type of ‘????’.
This is used if the file does not match any of the binary type
detectors. You can change this in the General Preferences.
Sending Files as Binary There is also a list of file types that should
be uploaded as binary files. This list is in STR# 330. Each string
in the list is a 4 character file type. The current list includes
GIF, ZIP, ARC, ???? and zBIN files. TEXT files that have binary data
in the first 128 bytes are also sent as binary.
Sounds ZTerm can now play a sound for some events that occur while you
are using it. If the sounds are available, it will play a sound when
you connect to a service, when a file transfer completes or when the
BELL character is received. These sounds are optional. If the sound
with the right name is not available, it will just do the normal beep.
It looks for the sound by its name. The names it looks for are
'connect', 'filedone' and 'termbell'. Note: ZTerm plays the sounds
using the Sound Manager, which is in System 4.1 and later. I have
included three sound files for system 7 as part of the ZTerm package
that you can use, or you can use some other sounds.
Trimming down ZTerm for floppy only system For those who are running
on a floppy only system and what the smallest possible program file,
here are some things you can remove from the ZTerm program with
ResEdit. Do not distribute any modified copies of ZTerm.
There are about 23k worth of fonts in the program. If you are always
using 9 point, you could remove all the 12 point FONTs. If none of
the internal fonts are found, it will use the Monaco font. All of the
STR# resources in the 600’s are used for balloon help; if you don’t
use System 7, these are not needed.
About the Author I first started using computers when my brothers
built a TVT video terminal in the mid 70’s. We used it to call the
university computer system. Then we got an IMSAI 8080 with dual eight
inch floppy drives! I wrote a simple educational program in BASIC and
had it published in Kilobaud magazine. Just when I was ready to buy a
newer CP/M machine, the IBM PC came out and I got one. I programmed
and played with it for a few years. Then the Mac came out and I had
to get one. I started out programming in BASIC, working on a disk
sector editor, a hex resource editor, a disassembler (my brother Bob
did most of the disassembler part, I did the resource stuff) and
making mods to MacTEP for my own use. I wrote a program called
ReadLisa that could read diskettes from the LISA computer and print or
copy them to a Mac disk. I uploaded this and actually received three
payments for it.
I decided to write ZTerm because I spent a lot of time
telecommunicating, but I didn’t really like the software that was
available. Also, none at that time supported ZModem, which appeared
to be the best thing to be using. Thus began the never-ending journey
of ZTerm.
Glossary
ANSI - American National Standards Institute.
ASCII - American Standard Code for Information Interchange, which
defines the character codes for letters, numbers, punctuation and
control characters. Defined in ANSI X3.4-1986.
Baud rate - a measure of the number of times per second a signal in a
communications channel varies, or makes a transition between states
(states being frequencies, voltage levels, or phase angles). Modems
faster than 300 bps usually transmit more than one bit of information
for each baud.
Bits per second - measure of the number of data bits transmitted each
second in a communications channel.
Break - a signal to the remote system, usually to interrupt a process.
Bulletin Board System (BBS) - a system, often run on a personal
computer, that users can call to exchange messages and files.
CCITT - International Telegraph and Telephone Consultative Committee.
They define international standards for modems, among other things.
Checksum - a method of verifying the integrity of data (not as good as
CRC).
CRC - Cyclical Redundancy Check, used to verify the integrity of data.
Data bits - the number of bits used to make up a character.
Flow Control - a mechanism for the receiver of data to signal the
sender to suspend transmission when the receiver cannot handle more
data. Typically, the receiver has buffers to hold received data and
if the buffers get nearly full, it will signal the sender to stop
while it catches up on processing the data in the buffer.
Hardware Handshake - a method of flow control using two control lines,
usually Request to Send (RTS) and Clear to Send (CTS).
MacBinary - a file format that allows Macintosh files to be stored on
non-Macintosh computers. The MacBinary format includes a 128 byte
header that contains the full Macintosh file name, the file creator
and type codes, and other directory information. When you download a
file in MacBinary format, ZTerm will automatically convert it to the
normal Macintosh format (unless Transfer Convert is set to Binary
Data).
MNP - Microcom Networking Protocol, a suite of compression and error
correction protocols designed my Microcom. MNP 5 is a data
compression protocol. MNP 2 to 4 are error correction protocols.
Parity - a method of checking the integrity of each transmitted
character.
Protocol, File Transfer - a set of rules that two computers can use to
send a file from one computer to the other. A protocol will usually
provide error detection and correction, by re-sending the portion that
was received in error.
Stop Bits - bit(s) used to mark the end of a character during
transmission. One stop bit is the most common setting. More than one
stop bit was used in days past to slow down transmission for
mechanical terminals.
XModem - a file transfer protocol. This one is the most common on
personal computer systems.
YModem - a file transfer protocol. YModem is similar to XModem, but
uses larger blocks and sends the file name with the file so that
multiple files can be sent in a batch.
ZModem - a file transfer protocol. ZModem is one of the most robust
and efficient protocols available.